Added _gtk_widget_get_wmclass() internal function
authorJavier Jardón <jjardon@gnome.org>
Sun, 29 Aug 2010 16:53:39 +0000 (18:53 +0200)
committerJavier Jardón <jjardon@gnome.org>
Tue, 31 Aug 2010 00:51:36 +0000 (02:51 +0200)
Needed by GtkPlug

gtk/gtkplug.c
gtk/gtkwindow.c
gtk/gtkwindow.h

index 79554c2e6234dc5a956dcd02eb79ed41cbb6775d..96f274a640953c860bc54c5f392fb09dcd23a6bd 100644 (file)
@@ -33,6 +33,7 @@
 #include "gtkintl.h"
 #include "gtkprivate.h"
 #include "gtkplugprivate.h"
+#include "gtkwindow.h"
 
 /**
  * SECTION:gtkplug
@@ -634,16 +635,20 @@ gtk_plug_realize (GtkWidget *widget)
   GtkWindow *window = GTK_WINDOW (widget);
   GdkWindow *gdk_window;
   GdkWindowAttr attributes;
+  const gchar *title;
+  gchar *wmclass_name, *wmclass_class;
   gint attributes_mask;
 
   gtk_widget_set_realized (widget, TRUE);
 
+  title = gtk_window_get_title (window);
+  _gtk_window_get_wmclass (window, &wmclass_name, &wmclass_class);
   gtk_widget_get_allocation (widget, &allocation);
 
   attributes.window_type = GDK_WINDOW_CHILD;   /* XXX GDK_WINDOW_PLUG ? */
-  attributes.title = window->title;
-  attributes.wmclass_name = window->wmclass_name;
-  attributes.wmclass_class = window->wmclass_class;
+  attributes.title = (gchar *) title;
+  attributes.wmclass_name = wmclass_name;
+  attributes.wmclass_class = wmclass_class;
   attributes.width = allocation.width;
   attributes.height = allocation.height;
   attributes.wclass = GDK_INPUT_OUTPUT;
index b6095bb2c4783c3a2f4a222b6428900bac4b1976..5fa4e351a8f7a603c108ebd2b98a689547c3692f 100644 (file)
@@ -8784,3 +8784,12 @@ gtk_window_set_mnemonics_visible (GtkWindow *window,
 
   priv->mnemonics_visible_set = TRUE;
 }
+
+void
+_gtk_window_get_wmclass (GtkWindow  *window,
+                         gchar     **wmclass_name,
+                         gchar     **wmclass_class)
+{
+  *wmclass_name = window->wmclass_name;
+  *wmclass_class = window->wmclass_class;
+}
index b9ba1086f33d1be5f1ea45ef58f60401ca2e1e5b..7631ea90ac7c408698369e08384509de670aeb71 100644 (file)
@@ -433,6 +433,10 @@ void            _gtk_window_set_is_active          (GtkWindow *window,
 void            _gtk_window_set_is_toplevel        (GtkWindow *window,
                                                    gboolean   is_toplevel);
 
+void            _gtk_window_get_wmclass            (GtkWindow  *window,
+                                                    gchar     **wmclass_name,
+                                                    gchar     **wmclass_class);
+
 typedef void (*GtkWindowKeysForeachFunc) (GtkWindow      *window,
                                          guint           keyval,
                                          GdkModifierType modifiers,